/*Copyright (C) 2009 - 2011 MASSART GAUTHIER and Careil Baptiste

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef MENUS_HEADER
#define MENUS_HEADER

/*
** Affiche un menu simple.
**
** Exemple: afficher_menu_simple("a\nb\nc\n"); affichera:
** 1.a
** 2.b
** 3.c
*/
int afficher_menu_simple(const char *contenu_menu);

/*
** Affiche un menu de jeu
**
** Exemple: afficher_menu_jeu("jouer\nManuel\nQuitter\n", "JEU") affichera:
**			JEU
**
** 1.jouer
** 2.Manuel
** 3.Quitter
*/
int afficher_menu_jeu(const char *contenu_menu, const char *titre_jeu);

/*
** Affiche un menu simple avec un titre
**
** Exemple: afficher_menu_jeu("a\nb\nc\n", "Choisissez votre pion:")
** affichera:
** Choisissez votre pion:
** 1.a
** 2.b
** 3.c
*/
int afficher_menu_titre(const char *contenu_menu, const char *titre_menu);

/*
** Permet d'afficher une chaine de caractère formatée sous la forme d'un
** menu.
**
** \parm contenu_menu Une chaine de caractère formatée où chaque choix
** donné est terminé par un '\n'.
**
** \ret Le choix fait par l'utilisateur. Le premier choix possible est 1.
*/
int afficher_menu(const char *contenu_menu, const char *titre_menu, const char *titre_jeu);

/*
** Permet l'affichage des entrés du menu pour la sélection
** par chiffre.
*/
void afficher_contenu_menu(char **menus, short menu_actuel, short choix, short *nombre_choix, bool animation);

/*
** Permet d'afficher des flèches pour savoir si l'on peut
** changer de menu
*/
void afficher_fleches_menu(short menu_actuel, short nombre_choix, bool animation);

#endif	/*ifndef MENUS_HEADER*/
